
#include <iostream>
#include "Coffee.h"
#include "MilkTea.h"
#include "Normal.h"
#include "Ice.h"
#include "Sugar.h"
#include "Original.h"

int main(int argc, char* argv[])
{
  Juice* coffee = new Coffee();
  Juice* milk_tea = new MilkTea();
  std::cout << coffee->Desc() << std::endl;
  // coffee
  coffee = new Ice(coffee);
  std::cout << coffee->Desc() << std::endl;
  coffee = new Sugar(coffee);
  std::cout << coffee->Desc() << std::endl;
  // milk tea
  std::cout << milk_tea->Desc() << std::endl;
  milk_tea = new Normal(milk_tea);
  std::cout << milk_tea->Desc() << std::endl;
  milk_tea = new Original(milk_tea);
  std::cout << milk_tea->Desc() << std::endl;

  delete coffee;
  delete milk_tea;
  return 0;
}
